home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Dev / powerd / lib / powerd_lib.lha / PowerD / RealStr_fpu.ass < prev    next >
Encoding:
Text File  |  2000-02-29  |  1.3 KB  |  70 lines

  1.     machine    mc68020
  2.     fpu    1
  3.  
  4. *******************************************************************************
  5. * name           offset
  6. * buf            0
  7. * rest           24
  8. * top            28
  9. * d              32
  10. * args
  11. * str            56
  12. * f              48
  13. * n              44
  14.     xdef    _RealStr
  15. _RealStr
  16.     lea    (-40,a7),a7
  17.     movem.l    a0-a1,-(a7)
  18.     fmovem.x    fp0,-(a7)
  19.     fmove.d    (48+20+0,a7),fp0
  20.     fabs.x    fp0,fp0
  21.     fmove.d    fp0,(32+20+0,a7)
  22.     fmove.d    (32+20+0,a7),fp0
  23.     fmove.l    fp0,(28+20+0,a7)
  24.     fmove.d    (32+20+0,a7),fp0
  25.     fsub.l    (28+20+0,a7),fp0
  26.     fmove.d    fp0,(32+20+0,a7)
  27.     fmove.d    (32+20+0,a7),fp0
  28.     fmul.d    #10.0000000000000000E8,fp0
  29.     fmove.d    fp0,(32+20+0,a7)
  30.     fmove.d    (32+20+0,a7),fp0
  31.     fmove.l    fp0,(24+20+0,a7)
  32. if0
  33.     fmove.d    (48+20+0,a7),fp0
  34.     ftst.d    fp0
  35.     fbge    end0
  36.     move.l    (28+20+0,a7),d0
  37.     
  38.     move.l    d0,(28+20+0,a7)
  39. end0
  40.     move.l    (24+20+0,a7),-(a7)
  41.     move.l    (28+20+4,a7),-(a7)
  42.     lea    str0,a0
  43.     move.l    a0,-(a7)
  44.     lea    (0+20+12,a7),a0
  45.     move.l    a0,-(a7)
  46.     bsr    _StringF
  47.     lea    (16,a7),a7
  48.     movea.l    (56+20+0,a7),a0
  49.     lea    (0+20+0,a7),a1
  50.     move.l    a1,-(a7)
  51.     move.l    a0,-(a7)
  52.     lea    (0+20+8,a7),a0
  53.     bsr    _StrLen
  54.     movea.l    (a7)+,a0
  55.     movea.l    (a7)+,a1
  56.     subi.l    #9,d0
  57.     add.l    (44+20+0,a7),d0
  58.     bsr    _StrCopy
  59. RealStrend
  60.     move.l    (56+20+0,a7),d0
  61. RealStrfinish
  62.     fmovem.x    (a7)+,fp0
  63.     movem.l    (a7)+,a0-a1
  64.     lea    (40,a7),a7
  65.     rts
  66.     xref    _StrCopy
  67.     xref    _StringF
  68.     xref    _StrLen
  69. str0    dc.b    "%ld.%09.9ld",0
  70.